In Computer, the superuser is a special user account used for system administration. Depending on the operating system (OS), the actual name of this account might be root, administrator, admin or supervisor. The principle of least privilege recommends that most users and applications run under an ordinary account to perform their work, as a superuser account is capable of making unrestricted, potentially adverse, system-wide changes.
In some cases, the actual name of the account determines whether the user is a superuser. In others, the name of the account is not the determining factor; on Unix-like systems, for example, the user with a user identifier (UID) of zero is the superuser i.e.,, regardless of the name of that account; and in systems which implement a role-based security model, any user with the role of superuser can carry out all actions of the superuser account.
The name root may have originated because root is the only user account with permission to modify the root directory of a Unix system. This directory was originally considered to be root's home directory, but the UNIX Filesystem Hierarchy Standard now recommends that root's home be at . The first process Bootstrapping in a Unix-like system, usually called , runs with root privileges. It spawns all other processes directly or indirectly, which inherit their parents' privileges. Only a process running as root is allowed to change its user ID to that of another user; once it has done so, there is no way back. Doing so is sometimes called dropping root privileges and is often done as a security measure to limit the damage from possible contamination of the process. Another case is and other programs that ask users for credentials and in case of successful authentication allow them to run programs with privileges of their accounts.
It is often recommended that root is never used as a normal user account, since simple typo in entering commands can cause major damage to the system. Instead, a normal user account should be used, and then either the (substitute user) or (substitute user do) command is used. The approach requires the user to know the root password, while the method requires that the user be set up with the power to run "as root" within the file, typically indirectly by being made a member of the wheel, adm, admin, or sudo group.
For a number of reasons, the approach is now generally preferred – for example it leaves an audit trail of who has used the command and what administrative operations they performed.
Some OSes, such as macOS and some Linux distributions (most notably Ubuntu), automatically give the initial user created the ability to run as root via – but this is configured to ask them for their password before doing administrative actions. In some cases the actual root account is disabled by default, so it can't be directly used. In mobile platform-oriented OSs such as Apple iOS and Android, superuser access is inaccessible by design, but generally the security system can be exploited in order to obtain it. In a few systems, such as Plan 9, there is no superuser at all.
A Windows administrator account is not an exact analogue of the Unix root account – Administrator, the built-in administrator account, and a user administrator account have the same level of privileges. The default user account created in Windows systems is an administrator account. Unlike macOS, Linux, and Windows Vista/7/8/10 administrator accounts, administrator accounts in Windows systems without UAC do not insulate the system from most of the pitfalls of full root access. One of these pitfalls includes decreased resilience to malware infections. To avoid this and maintain optimal system security on pre-UAC Windows systems, it is recommended to simply authenticate when necessary from a standard user account, either via a password set to the built-in administrator account, or another administrator account.
In Windows Vista/7/8/10/11 administrator accounts, a prompt will appear to authenticate running a process with elevated privileges. Usually, no user credentials are required to authenticate the UAC prompt in administrator accounts but authenticating the UAC prompt requires entering the username and password of an administrator in standard user accounts. In Windows XP (and earlier systems) administrator accounts, authentication is not required to run a process with elevated privileges. This poses a security risk that led to the development of UAC. Users can set a process to run with elevated privileges from standard accounts by setting the process to "run as administrator" or using the command and authenticating the prompt with credentials (username and password) of an administrator account. Much of the benefit of authenticating from a standard account is negated if the administrator account's credentials being used has a blank password (as in the built-in administrator account in Windows XP and earlier systems), hence why it is recommended to set a password for the built-in administrator account.
In Windows NT, 2000 and higher, the root user is the Administrator account.
|
|